package com.hongshu.idle.service.idle;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hongshu.idle.domain.dto.EsProductDTO;
import com.hongshu.idle.domain.entity.IdleProduct;
import com.hongshu.idle.domain.vo.IdleProductVO;

/**
 * ES
 *
 * @author: hongshu
 */
public interface IIdleEsProductService extends IService<IdleProduct> {

    /**
     * 搜索对应的笔记
     *
     * @param currentPage  当前页
     * @param pageSize     分页数
     * @param esProductDTO 笔记
     */
    Page<IdleProductVO> getProductByDTO(long currentPage, long pageSize, EsProductDTO esProductDTO);

    /**
     * 获取推荐笔记
     *
     * @param currentPage 当前页
     * @param pageSize    分页数
     */
    Page<IdleProductVO> getRecommendProduct(long currentPage, long pageSize);

    /**
     * 获取热榜笔记
     *
     * @param currentPage 当前页
     * @param pageSize    分页数
     */
    Page<IdleProductVO> getHotProduct(long currentPage, long pageSize);

    /**
     * 增加笔记
     *
     * @param idleProductVO 笔记
     */
    void addProduct(IdleProductVO idleProductVO);

    /**
     * 修改笔记
     *
     * @param idleProductVO 笔记
     */
    void updateProduct(IdleProductVO idleProductVO);

    /**
     * 删除es中的笔记
     *
     * @param productId 笔记ID
     */
    void deleteProduct(String productId);
}
